1. Field of the Invention
The present invention relates to generally to semiconductor memory devices and, more particularly, to a method for programming EPROMS and multi-level Flash EPROMS.
2. Description of the Related Art
Erasable programmable read only memory (EPROM), electronically erasable programmable read only memory (EEPROM) and Flash memory are classes of floating gate memory devices. More particularly, these floating gate memory devices are programmable memory devices which use floating gates as charge storage layers. These devices are based on a memory transistor, consisting of a source, channel, and a drain with a floating gate over the channel and a control gate isolated from the floating gate. Programming a cell requires charging the floating gate with electrons, which increases the turn on threshold of the memory cell. Flash EPROMS typically use a "hot electron" programming technique to charge the cells. When programmed, the cell will not turn on, i.e. it remains non-conductive, if a read potential is applied to its control gate. To erase the cell, electrons are removed from the floating gate in order to lower the threshold. With a lower threshold, the cell will now turn on when a read potential is applied to the control gate.
Conventionally, hot electron programming is performed by ramping up the drain voltage or the gate voltage. In other words, the source voltage is first shorted to ground, and then the drain (or gate) voltage is increased. Finally, the gate (or drain) voltage is applied. One programming method which operates by varying the gate voltage has been disclosed in U.S. Pat. No. 5,563,822, the disclosure of which is hereby incorporated by reference. However, this programming method has low programming efficiency and a large leakage current is induced by the drain-turn-on or punch-through problems of the unselect cells. Two proposals to overcome these problems include U.S. Pat. No. 5,553,020, disclosing a programming method that applies a source bias, and U.S. Pat. No. 5,590,076, disclosing a constant current source programming method.
More recently, memory cells have included multiple levels in order to provide more data storage. For instance, instead of having only two threshold states, a larger number of threshold states are now being used and sensed as separate data levels. This allows for increased data storage for a given amount of memory. The addition of multiple levels increases the programming problems associated with the prior art solutions, since multiple levels are already more difficult to program.
In the view of the foregoing, there is a need for faster and more efficient schemes for programming erasable programmable memory cells, especially for multi-level Flash EPROMS.